package listbyorder.access101_200.test110;

import listbyorder.utils.TreeNode;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/7 10:44
 */
public class Solution1 {

    // 判断一颗树是不是高度平衡的二叉树
    // 自己改的简单代码
    public boolean isBalanced(TreeNode root) {
        if (root == null) return true;
        // 分别计算左右子树的高度
        return Math.abs(getH(root.left) - getH(root.right)) < 2 && isBalanced(root.left) && isBalanced(root.right);
    }

    private int getH(TreeNode node) {
        if (node == null) return 0;
        return Math.max(getH(node.left), getH(node.right)) + 1;
    }
}
